package com.yoyo.common.utils.sql;

import com.yoyo.common.exception.base.BaseException;
import com.yoyo.common.utils.StringUtils;

/**
 * @author zyl
 * @Date 2021/6/12 -1:04
 */
public class SqlUtil {
    /**
     * 仅支持字母 数字下划线 空格 逗号 小数点（支持多个字段排序）
     */
    public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+";

    public static String escapeOrderBySql(String value) {
        if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) {
            throw new BaseException("参数不符合规范,不能进行查询");
        }
        return value;
    }

    public static boolean isValidOrderBySql(String value) {
        return value.matches(SQL_PATTERN);
    }
}
